<article>
    <h1><?php echo $GLOBALS['title'] ?></h1>
    <p>字符串(string)是PHP中重要的数据类型之一。</p>
    <p>字符串就是一系列字符。一个字符串可以只是一个字符，也
可以非常巨大，由任意多个字符组成。</p>
	<h3>语法</h3>
    <p>一个字符串可以用 3 种方式表达： </p>
    <ul>
        <li>单引号</li>
        <li>双引号</li>
        <li>定界符</li>
    </ul>
    <pre><code><?php echo htmlspecialchars('
<?php
$str = \'学并思\';
$str = "学并思";
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
') ?></code></pre>
    <p><code>注意：</code>字符如果由双引号括起来，里面有变量，可以进行解析。双引号字符串最重要的一点是其中的变量名会被变量值替代,必要时需要加<code>{}</code>把变量名括起来。</p>
    <p><code>反斜杠\:</code>处理文件特殊字符时，可以用反斜杠进行转义。</p>
    <h2><a>String 函数</a></h2>
    <p>PHP 字符串函数是 PHP 核心的组成部分。无需安装即可使用这些函数。</p>
    <table class="dataintable">
        <tbody>
            <tr>
                <th>
                    函数
                </th>
                <th>
                    描述
                </th>
            </tr>
            <tr>
                <td>
                    <a >
                        addcslashes()
                    </a>
                </td>
                <td>
                    返回在指定的字符前添加反斜杠的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        addslashes()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>返回在预定义的字符前添加反斜杠的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        bin2hex()
                    </a>
                </td>
                <td>
                    把 ASCII 字符的字符串转换为十六进制值。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        chop()
                    </a>
                </td>
                <td>
                    删除字符串右侧的空白字符或其他字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        chr()
                    </a>
                </td>
                <td>
                    从指定的 ASCII 值返回字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        chunk_split()
                    </a>
                </td>
                <td>
                    把字符串分割为一系列更小的部分。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        convert_cyr_string()
                    </a>
                </td>
                <td>
                    把字符串由一种 Cyrillic 字符集转换为另一种。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        convert_uudecode()
                    </a>
                </td>
                <td>
                    解码 uuencode 编码字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        convert_uuencode()
                    </a>
                </td>
                <td>
                    使用 uuencode 算法对字符串进行编码。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        count_chars()
                    </a>
                </td>
                <td>
                    返回有关字符串中所用字符的信息。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        crc32()
                    </a>
                </td>
                <td>
                    计算字符串的 32 位 CRC。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        crypt()
                    </a>
                </td>
                <td>
                    单向的字符串加密法（hashing）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        echo()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>输出一个或多个字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        explode()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把字符串打散为数组。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        fprintf()
                    </a>
                </td>
                <td>
                    把格式化的字符串写入到指定的输出流。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        get_html_translation_table()
                    </a>
                </td>
                <td>
                    返回由 htmlspecialchars() 和 htmlentities() 使用的翻译表。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        hebrev()
                    </a>
                </td>
                <td>
                    把希伯来文本转换为可见文本。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        hebrevc()
                    </a>
                </td>
                <td>
                    把希伯来文本转换为可见文本，并把新行（\n）转换为 &lt;br&gt;。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        hex2bin()
                    </a>
                </td>
                <td>
                    把十六进制值的字符串转换为 ASCII 字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        html_entity_decode()
                    </a>
                </td>
                <td>
                    把 HTML 实体转换为字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        htmlentities()
                    </a>
                </td>
                <td>
                    把字符转换为 HTML 实体。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        htmlspecialchars_decode()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把一些预定义的 HTML 实体转换为字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        htmlspecialchars()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把一些预定义的字符转换为 HTML 实体。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        implode()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>返回由数组元素组合成的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        join()
                    </a>
                </td>
                <td>
                    implode() 的别名。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        lcfirst()
                    </a>
                </td>
                <td>
                    把字符串的首字符转换为小写。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        levenshtein()
                    </a>
                </td>
                <td>
                    返回两个字符串之间的 Levenshtein 距离。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        localeconv()
                    </a>
                </td>
                <td>
                    返回本地数字及货币格式信息。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        ltrim()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>移除字符串左侧的空白字符或其他字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        md5()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>计算字符串的 MD5 散列。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        md5_file()
                    </a>
                </td>
                <td>
                    计算文件的 MD5 散列。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        metaphone()
                    </a>
                </td>
                <td>
                    计算字符串的 metaphone 键。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        money_format()
                    </a>
                </td>
                <td>
                    返回格式化为货币字符串的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        nl_langinfo()
                    </a>
                </td>
                <td>
                    返回特定的本地信息。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        nl2br()
                    </a>
                </td>
                <td>
                    在字符串中的每个新行之前插入 HTML 换行符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        number_format()
                    </a>
                </td>
                <td>
                    以千位分组来格式化数字。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        ord()
                    </a>
                </td>
                <td>
                    返回字符串中第一个字符的 ASCII 值。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        parse_str()
                    </a>
                </td>
                <td>
                    把查询字符串解析到变量中。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        print()
                    </a>
                </td>
                <td>
                    输出一个或多个字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        printf()
                    </a>
                </td>
                <td>
                    输出格式化的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        quoted_printable_decode()
                    </a>
                </td>
                <td>
                    把 quoted-printable 字符串转换为 8 位字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        quoted_printable_encode()
                    </a>
                </td>
                <td>
                    把 8 位字符串转换为 quoted-printable 字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        quotemeta()
                    </a>
                </td>
                <td>
                    引用元字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        rtrim()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>移除字符串右侧的空白字符或其他字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        setlocale()
                    </a>
                </td>
                <td>
                    设置地区信息（地域信息）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        sha1()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>计算字符串的 SHA-1 散列。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        sha1_file()
                    </a>
                </td>
                <td>
                    计算文件的 SHA-1 散列。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        similar_text()
                    </a>
                </td>
                <td>
                    计算两个字符串的相似度。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        soundex()
                    </a>
                </td>
                <td>
                    计算字符串的 soundex 键。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        sprintf()
                    </a>
                </td>
                <td>
                    把格式化的字符串写入变量中。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        sscanf()
                    </a>
                </td>
                <td>
                    根据指定的格式解析来自字符串的输入。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_getcsv()
                    </a>
                </td>
                <td>
                    把 CSV 字符串解析到数组中。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_ireplace()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>替换字符串中的一些字符（对大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_pad()
                    </a>
                </td>
                <td>
                    把字符串填充为新的长度。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_repeat()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把字符串重复指定的次数。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_replace()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>替换字符串中的一些字符（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_rot13()
                    </a>
                </td>
                <td>
                    对字符串执行 ROT13 编码。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        str_shuffle()
                    </a>
                </td>
                <td>
                    随机地打乱字符串中的所有字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_split()
                    </a>
                </td>
                <td>
                    把字符串分割到数组中。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        str_word_count()
                    </a>
                </td>
                <td>
                    计算字符串中的单词数。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strcasecmp()
                    </a>
                </td>
                <td>
                    比较两个字符串（对大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strchr()
                    </a>
                </td>
                <td>
                    查找字符串在另一字符串中的第一次出现。（strstr() 的别名。）
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strcmp()
                    </a>
                </td>
                <td>
                    比较两个字符串（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strcoll()
                    </a>
                </td>
                <td>
                    比较两个字符串（根据本地设置）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strcspn()
                    </a>
                </td>
                <td>
                    返回在找到某些指定字符的任何部分之前，在字符串中查找的字符数。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strip_tags()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>剥去字符串中的 HTML 和 PHP 标签。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        stripcslashes()
                    </a>
                </td>
                <td>
                    删除由 addcslashes() 函数添加的反斜杠。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        stripslashes()
                    </a>
                </td>
                <td>
                    删除由 addslashes() 函数添加的反斜杠。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        stripos()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>返回字符串在另一字符串中第一次出现的位置（对大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        stristr()
                    </a>
                </td>
                <td>
                    查找字符串在另一字符串中第一次出现的位置（大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        strlen()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>返回字符串的长度。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strnatcasecmp()
                    </a>
                </td>
                <td>
                    使用一种"自然排序"算法来比较两个字符串（对大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strnatcmp()
                    </a>
                </td>
                <td>
                    使用一种"自然排序"算法来比较两个字符串（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strncasecmp()
                    </a>
                </td>
                <td>
                    前 n 个字符的字符串比较（对大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strncmp()
                    </a>
                </td>
                <td>
                    前 n 个字符的字符串比较（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strpbrk()
                    </a>
                </td>
                <td>
                    在字符串中查找一组字符的任何一个字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strpos()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>返回字符串在另一字符串中第一次出现的位置（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strrchr()
                    </a>
                </td>
                <td>
                    查找字符串在另一个字符串中最后一次出现。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strrev()
                    </a>
                </td>
                <td>
                    反转字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        strripos()
                    </a>
                </td>
                <td>
                    查找字符串在另一字符串中最后一次出现的位置（对大小写不敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        strrpos()
                    </a>
                </td>
                <td>
                    查找字符串在另一字符串中最后一次出现的位置（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strspn()
                    </a>
                </td>
                <td>
                    返回在字符串中包含的特定字符的数目。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strstr()
                    </a>
                </td>
                <td>
                    查找字符串在另一字符串中的第一次出现（对大小写敏感）。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strtok()
                    </a>
                </td>
                <td>
                    把字符串分割为更小的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strtolower()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把字符串转换为小写字母。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        strtoupper()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把字符串转换为大写字母。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        strtr()
                    </a>
                </td>
                <td>
                    转换字符串中特定的字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        substr()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>返回字符串的一部分。
                </td>
            </tr>
            <tr>
                <td>
                    <a>
                        substr_compare()
                    </a>
                </td>
                <td>
                    从指定的开始位置（二进制安全和选择性区分大小写）比较两个字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        substr_count()
                    </a>
                </td>
                <td>
                    计算子串在字符串中出现的次数。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        substr_replace()
                    </a>
                </td>
                <td>
                    把字符串的一部分替换为另一个字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        trim()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>移除字符串两侧的空白字符和其他字符。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        ucfirst()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把字符串中的首字符转换为大写。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        ucwords()
                    </a>
                </td>
                <td>
                    <code>（注意）</code>把字符串中每个单词的首字符转换为大写。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        vfprintf()
                    </a>
                </td>
                <td>
                    把格式化的字符串写到指定的输出流。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        vprintf()
                    </a>
                </td>
                <td>
                    输出格式化的字符串。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        vsprintf()
                    </a>
                </td>
                <td>
                    把格式化字符串写入变量中。
                </td>
            </tr>
            <tr>
                <td>
                    <a >
                        wordwrap()
                    </a>
                </td>
                <td>
                    打断字符串为指定数量的字串
                </td>
            </tr>
        </tbody>
    </table>
    <h3>作业</h3>
    <blockquote>
        <ol>
            <li>将提交的$_POST['message']进行实体与转义处理
</li>
            <li>创建一个检测文件扩展名是否为图片的函数</li>
        </ol>
    </blockquote>
</article>